import axios from 'axios'
import store from "@/store";
import router from "@/router/index"
// axios.defaults.headers.common['Authorization'] = res.headers.authorization
// axios.defaults.headers.common['Authorization'] = store.getState().session.token;
export default function request(config) {
			// 1.创建axios的实例
			const instence = axios.create({
				// baseURL: 'http://121.43.119.15:8304',
				// baseURL: 'http://192.168.32.3:63010',//虚拟机地址
				baseURL: 'http://127.0.0.1:63010',//本机地址
				timeout: 5000,
				// responseType: 'json',
				headers:{'Access-Control-Allow-Origin':'*'},
			})

			// 2.axios的拦截器
			// 2.1请求拦截的作用
			// axios.interceptors 拦截全 响应局
			// 请求拦截
			instence.interceptors.request.use(
				config => {
					// 1.比如config中的一些信息不符合服务器要求
					config.headers.Authorization=store.getters.GET_TOKEN
					// 2.每次发送请求时，界面显示图标

					// 3.某些网络请求（比如登陆（token），必须携带特殊信息）
					return config;
				},
				err => {
					console.log(err,"err")
				}
			)
			// 2.2响应拦截
			instence.interceptors.response.use(
				res => {
					console.log(res,"请求相应拦截")
					if (res.data.code ===201){
						sessionStorage.clear();
						router.push("/login")
					}
					if (res.data.code ===202){
						router.push("/403")
					}
					if (res.headers["content-disposition"]){
						return res
					}
					return res.data
				},
				err => {
					console.log(err,"err.2")
				}
			)
			// 3.发送真正的网络请求
			// instence返回Promise
			return instence(config)
}
